/*
 * @Author: your name
 * @Date: 2022-03-04 15:06:07
 * @LastEditTime: 2022-03-07 09:23:03
 * @LastEditors: your name
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: \JS\day06\9-构造函数.js
 */
// Object构造函数 父构造函数
//   Array构造函数--子构造函数
  
// //   普通函数调用
// 函数名()
// // 构造函数调用
// new 函数名()
// 自定义构造函数
// 优点:可以区分种类 方法还是冗余
var sayName=function(){
    console.log(this.name);
}
function Person(name,age,gender){
    // *******使用了new操作符js自动帮做了这些事情
    // 1.创建了对象 obj
    // 2.this---这个对象 this---obj
    // obj.name=name
    // 3.执行函数体
    // 4.返回这个对象 return obj
    this.name=name;
    this.age=age;
    this.gender=gender;
    this.sayName=sayName;
};
var p1=new Person('王五',17,'男');
var p2=new Person('赵六',18,'女');
console.log(p1,p2);
p1.sayName();
p2.sayName();
console.log(p1.sayName===p2.sayName);


// function Animal(name,age,gender){
//     // *******使用了new操作符js自动帮做了这些事情
//     // 1.创建了对象 obj
//     // 2.this---这个对象 this---obj
//     // obj.name=name
//     // 3.执行函数体
//     // 4.返回这个对象 return obj
//     this.name=name;
//     this.age=age;
//     this.gender=gender;
    
// };
// var n1=new Animal('王五',17,'男');
// var n2=new Animal('赵六',18,'女');
// console.log(n1,n2);

